package Dict;

/**
 * Interface definition: Dictionnary.
 * 
 * @author OpenORB Compiler
 */
public interface DictionnaryOperations
{
    /**
     * Operation addEntity
     */
    public void addEntity(String term, Dict.CategoryValue cat, Dict.PropertyType props, String def)
        throws Dict.TermExisted, Dict.CategoryAndPropsNotMatch;

    /**
     * Operation delEntity
     */
    public void delEntity(String term)
        throws Dict.TermNotFound;

    /**
     * Operation modifDefinition
     */
    public void modifDefinition(String term, String newdef)
        throws Dict.TermNotFound;

    /**
     * Operation findEntity
     */
    public Dict.Entity findEntity(String term)
        throws Dict.TermNotFound;

    /**
     * Operation sortDict
     */
    public void sortDict(boolean dir);

    /**
     * Operation loadDict
     */
    public int loadDict()
        throws Dict.DicFileNotFound;

    /**
     * Operation saveDict
     */
    public void saveDict();

    /**
     * Operation dictLength
     */
    public int dictLength();

    /**
     * Operation firstEntity
     */
    public Dict.Entity firstEntity()
        throws Dict.DictEmpty;

    /**
     * Operation lastEntity
     */
    public Dict.Entity lastEntity()
        throws Dict.DictEmpty;

    /**
     * Operation nextEntity
     */
    public Dict.Entity nextEntity()
        throws Dict.DictEmpty;

    /**
     * Operation prevEntity
     */
    public Dict.Entity prevEntity()
        throws Dict.DictEmpty;

    /**
     * Operation myDefinition
     */
    public String myDefinition();

}
